package designPatterns.daiLi;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;


/**
*@author created by zhanxianbo
*@date 2017年10月30日--下午5:48:32
*/
public class factory implements InvocationHandler{

	public Object tagetObject;
	public Object  creatObject(Object tagetObject) {
		this.tagetObject=tagetObject;
		
		return   Proxy.newProxyInstance(tagetObject.getClass().getClassLoader(), tagetObject.getClass().getInterfaces(), this);
	}
	
	
	@Override
	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
		if (method.getName().equals("gotofly")) {
			System.out.println("被拦截了，飞不走了...");
			return null;
		}
		
		return method.invoke(proxy, args);
	}

	
}


